package Text15;
import java.util.*;
public class Main {
    //    如果 N = p1^c1 * p2^c2 * … *pk^ck
//    约数之和： (p1^0 + p1^1 + … + p1^c1) * … * (pk^0 + pk^1 + … + pk^ck)
//            while (b - - ) t = (t * a + 1) % mod;
    static int mod = (int) 1e9 + 7;
    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<>(); //创建一个哈希表
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        while(n-->0){
            int x=scanner.nextInt();
            for (int i = 2; i <=x/i ; i++) {
                int cnt=0;
                while(x%i==0){
                    x/=i;
                    cnt++;
                }
                map.put(i,map.getOrDefault(i,0)+cnt);
            }
            if(x>1){
                map.put(x,map.getOrDefault(x,0)+1);
            }
        }
        int res=1;
        for (int k : map.keySet()) {
            int v=map.get(k);
            int t=1;
            while (v-->0){
                t=(t*k+1)%mod;
            }
            res=res*t;
        }
        System.out.println(res);
    }
}
